﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Configuration;
using EnCor.Config;

namespace EnCor.Security
{
    public class AuthenticationConfig : ConfigurationElement
    {
        private const string STR_Providers = "providers";
        private const string STR_TokenProviders = "tokenProviders";
        private const string STR_Extensions = "extensions";
        private const string STR_Adapters = "adapters";

        [ConfigurationProperty(STR_Providers)]
        public AuthenticationProviderConfigCollection Providers
        {
            get
            {
                return (AuthenticationProviderConfigCollection)this[STR_Providers];
            }
        }


        [ConfigurationProperty(STR_TokenProviders)]
        public TokenProviderConfigCollection TokenProviders
        {
            get
            {
                return (TokenProviderConfigCollection)this[STR_TokenProviders];
            }
        }

        [ConfigurationProperty(STR_Extensions)]
        public AuthenticationExtensionConfigCollection Extensions
        {
            get
            {
                return (AuthenticationExtensionConfigCollection)this[STR_Extensions];
            }
        }


        [ConfigurationProperty(STR_Adapters)]
        public AuthenticationAdapterConfigCollection Adapters
        {
            get
            {
                return (AuthenticationAdapterConfigCollection)this[STR_Adapters];
            }
        }
    }
}
